log4j2配置详解、自定义规则 | 您所在的位置:网站首页 › log4j2 配置详解aop › log4j2配置详解、自定义规则 |
目录 1、配置详解 2、自定义规则-Appender插件 2.1、maven配置 2.2、plugin编写 2.3、log4j2-spring.xml 2.4、代码 3、自定义规则-PatternLayout 插件 1、配置详解配置详解上:https://www.cnblogs.com/sa-dan/p/6837225.html 配置详解下:https://www.cnblogs.com/sa-dan/p/6837232.html 2、自定义规则-Appender插件Pattern Layout详细: 2.1、maven配置 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-logging ---------------------------------------------------------------- org.apache.logging.log4j log4j-slf4j-impl 2.9.1 org.apache.logging.log4j log4j-api 2.11.1 org.apache.logging.log4j log4j-core 2.11.1 2.2、plugin编写 @Plugin(name = "FileAppender", category = "Core", elementType = "appender", printObject = true) public class FileAppender extends AbstractAppender { private String fileName; /* 构造函数 */ public FileAppender(String name, Filter filter, Layout D:/logggs 2.4、代码 @RestController @Slf4j public class TestController { @RequestMapping("/test2") public String hello2() { // 日志消息输出 log.error("asddddddddddddddddddddddddd"); return "hello2"; } } 3、自定义规则-PatternLayout 插件 @Plugin(name = "Log4jMaskPatternLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true) public class Log4jMaskPatternLayout extends AbstractStringLayout { private PatternLayout patternLayout; protected Log4jMaskPatternLayout(Charset charset, String pattern) { super(charset); patternLayout = PatternLayout.newBuilder().withPattern(pattern).build(); } /** * 创建插件 */ @PluginFactory public static Layout createLayout(@PluginAttribute(value = "pattern") final String pattern, @PluginAttribute(value = "charset") final Charset charset) { return new Log4jMaskPatternLayout(charset, pattern); } @Override public String toSerializable(LogEvent event) { String str = patternLayout.toSerializable(event); str = // ...脱敏 return str; } }log4j2-spring.xml |
CopyRight 2018-2019 实验室设备网 版权所有 |